Skip to content

Conversation

Nosille
Copy link

@Nosille Nosille commented Aug 15, 2025

Public API Changes

Reorganized codebase to isolate subscribers from streamers.
Created image_transport and pointcloud2 subscribers.
Added parameters to control how pointcloud2 msg is converted into an image stream within pointcloud2 subscriber.

Description

This is a big change that will probably take a little back and forth. If you are not interested let me know. The goal was to make it possible to subscribe to ros msg formats other than images and convert them to image streams. Existing msgs subscription capabilities were moved from the existing streamer files to a new image_transport_subscriber file. A new pointcloud2_subscriber option was added that subscribes to pointcloud2 msgs, projects them into a 2d image (user selected viewing frame with parameters for height, width, and focal length), then sends the resulting image to any of the existing streamers.

When coupled with a package like (https://github.com/naoki-mizuno/spacenav_rviz) that moves the selected viewing frame in real time. It is possible to generate a streaming flythrough of a pointcloud with this change.

@bjsowa
Copy link
Member

bjsowa commented Aug 30, 2025

Thanks for your contribution! Haven't look through the code yet but I'm having my doubts whether this belongs here. When developing with ROS, I always try to follow a principle which says that a node should perform a single logical function. In case of web_video_server, it's streaming image topics to the web. Instead of adding this functionality to web_video_server, wouldn't you rather create a separate node for converting point clouds to images and run it together with web_video_server?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants